[INFO] cloning repository https://github.com/serenamustrich/Skyhook
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/serenamustrich/Skyhook" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fserenamustrich%2FSkyhook", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fserenamustrich%2FSkyhook'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5fdadd4d51b585f2553abef74f95028c88eef19b
[INFO] fixing serenamustrich/Skyhook against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fserenamustrich%2FSkyhook" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/serenamustrich/Skyhook
[INFO] finished tweaking git repo https://github.com/serenamustrich/Skyhook
[INFO] tweaked toml for git repo https://github.com/serenamustrich/Skyhook written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/serenamustrich/Skyhook on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/serenamustrich/Skyhook already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd
[INFO] running `Command { std: "docker" "start" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]     Checking cmov v0.5.4
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]     Checking cpubits v0.1.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking pem-rfc7468 v1.0.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking der v0.8.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking hybrid-array v0.4.12
[INFO] [stderr]     Checking http v1.4.1
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking ff v0.14.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling rustls v0.23.40 (/opt/rustwide/workdir/vendor/rustls-0.23.40)
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking base16ct v1.0.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking spki v0.8.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking group v0.14.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking block-padding v0.4.2
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]     Checking sec1 v0.8.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking crypto-bigint v0.7.3
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0-rc.0
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking cipher v0.5.2
[INFO] [stderr]     Checking universal-hash v0.6.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking signature v3.0.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking aes v0.9.1
[INFO] [stderr]     Checking pbkdf2 v0.13.0
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking salsa20 v0.11.0
[INFO] [stderr]     Checking cbc v0.2.1
[INFO] [stderr]     Checking hkdf v0.13.0
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking rfc6979 v0.5.0
[INFO] [stderr]     Checking polyval v0.7.1
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking ctr v0.10.1
[INFO] [stderr]     Checking scrypt v0.12.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking ghash v0.6.0
[INFO] [stderr]     Checking aead v0.6.0-rc.10
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking pkcs5 v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking pkcs8 v0.11.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking ed25519 v3.0.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking aes-gcm v0.11.0-rc.4
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking nix v0.30.1
[INFO] [stderr]     Checking blowfish v0.10.0
[INFO] [stderr]     Checking blake2 v0.11.0-rc.6
[INFO] [stderr]     Checking poly1305 v0.9.0
[INFO] [stderr]     Checking netlink-packet-route v0.30.0
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking pkcs1 v0.8.0-rc.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking keccak v0.2.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling virtue-next v0.1.3
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling ipstack v1.0.0
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking fiat-crypto v0.3.0
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking etherparse v0.19.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]    Compiling tun2proxy v0.8.1
[INFO] [stderr]     Checking elliptic-curve v0.14.0-rc.33
[INFO] [stderr]     Checking primefield v0.14.0-rc.10
[INFO] [stderr]     Checking ssh-encoding v0.3.0-rc.9
[INFO] [stderr]     Checking crypto-primes v0.7.0
[INFO] [stderr]     Checking sha3 v0.11.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ssh-cipher v0.3.0-rc.9
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking primeorder v0.14.0-rc.10
[INFO] [stderr]     Checking ecdsa v0.17.0-rc.18
[INFO] [stderr]    Compiling bincode_derive-next v2.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking argon2 v0.6.0-rc.8
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking bcrypt-pbkdf v0.11.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking ed25519-dalek v3.0.0-rc.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking p256 v0.14.0-rc.10
[INFO] [stderr]     Checking p521 v0.14.0-rc.10
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking sha1 v0.11.0
[INFO] [stderr]     Checking kem v0.3.0
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking fastbloom v0.14.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking module-lattice v0.2.3
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking cidr v0.3.2
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking netlink-sys v0.8.8
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling crc32c v0.6.8
[INFO] [stderr]     Checking libloading v0.9.0
[INFO] [stderr]     Checking netlink-proto v0.12.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking unty-next v0.1.1
[INFO] [stderr]    Compiling smoltcp v0.12.0
[INFO] [stderr]     Checking jiff v0.2.28
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking ip_network v0.4.1
[INFO] [stderr]     Checking ip_network_table-deps-treebitmap v0.5.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking tun v0.8.10
[INFO] [stderr]     Checking rsa v0.10.0-rc.18
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking ip_network_table v0.2.0
[INFO] [stderr]     Checking bincode-next v2.1.0
[INFO] [stderr]     Checking digest_auth v0.3.1
[INFO] [stderr]     Checking ml-kem v0.3.2
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking h3 v0.0.8
[INFO] [stderr]     Checking russh-util v0.52.0
[INFO] [stderr]     Checking socks5-impl v0.8.3
[INFO] [stderr]     Checking udp-stream v0.0.12
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking hashlink v0.11.1
[INFO] [stderr]     Checking russh-cryptovec v0.61.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking hickory-proto v0.26.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking internal-russh-num-bigint v0.5.0
[INFO] [stderr]     Checking ctrlc2 v4.0.0
[INFO] [stderr]     Checking generic-array v1.4.3
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking daemonize v0.5.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking md5 v0.8.0
[INFO] [stderr]     Checking ipnetwork v0.21.1
[INFO] [stderr]     Checking hex-literal v1.1.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking base64easy v0.1.7
[INFO] [stderr]     Checking managed v0.8.0
[INFO] [stderr]     Checking unicase v2.9.0
[INFO] [stderr]     Checking rtnetlink v0.21.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking maxminddb v0.28.1
[INFO] [stderr]     Checking sha3 v0.10.9
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking boringtun v0.7.1
[INFO] [stderr]     Checking tproxy-config v7.0.7
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking x25519-dalek v3.0.0-rc.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking cfb-mode v0.8.2
[INFO] [stderr]     Checking uuid v1.23.2
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking p384 v0.14.0-rc.10
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking ssh-key v0.7.0-rc.10
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking russh v0.61.2
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking quinn-proto v0.11.14
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking h3-quinn v0.0.10
[INFO] [stderr]     Checking skyhook v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/core/mod.rs:1204:37
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]      |                        ------    ----------------------
[INFO] [stdout]      |                        |         |                |
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `result` calls a custom destructor
[INFO] [stdout]      |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1196 |                 Err(error) => results.push(ProbeResult {
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `error` calls a custom destructor
[INFO] [stdout]      |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1204 |             if let Some(outbound) = pending.next() {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1213 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/core/mod.rs:1193:34
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]      |                        ------    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |         |                |
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |         |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `result` calls a custom destructor
[INFO] [stdout]      |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1196 |                 Err(error) => results.push(ProbeResult {
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `error` calls a custom destructor
[INFO] [stdout]      |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1213 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/inbound/native_tun_system.rs (1 fix)
[INFO] [stderr]        Fixed src/inbound/native_tun.rs (1 fix)
[INFO] [stderr]        Fixed src/inbound/native_tun_dispatcher.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/subscription_store.rs:999:15
[INFO] [stdout]      |
[INFO] [stdout]  997 |     let mut last_error = None;
[INFO] [stdout]      |         --------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `last_error` calls a custom destructor
[INFO] [stdout]      |         `last_error` will be dropped later as of Edition 2024
[INFO] [stdout]  998 |     for attempt in 0..attempts {
[INFO] [stdout]  999 |         match fetch_subscription_url_once(&client, url).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                         |
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1004 |                     sleep(Duration::from_millis(250 * (attempt as u64 + 1))).await;
[INFO] [stdout]      |                     --------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:373:34
[INFO] [stdout]     |
[INFO] [stdout] 373 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                |
[INFO] [stdout]     |                        |         |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `result` calls a custom destructor
[INFO] [stdout]     |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                 Err(error) => summaries.push(SubscriptionUpdateSummary {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 383 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/mod.rs:1120:11
[INFO] [stdout]      |
[INFO] [stdout] 1099 |     let base_config = match (request.path, request.yaml) {
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `base_config` calls a custom destructor
[INFO] [stdout]      |         `base_config` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     match reload_active_subscription_config(&runtime) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1134 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `base_config` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:581:15
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let (decision, outbound, connect_timeout_ms) = {
[INFO] [stdout]     |                        --------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `outbound` calls a custom destructor
[INFO] [stdout]     |                        `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                 |
[INFO] [stdout]     |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 650 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:581:65
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let (decision, outbound, connect_timeout_ms) = {
[INFO] [stdout]     |                        --------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `outbound` calls a custom destructor
[INFO] [stdout]     |                        `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 650 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:672:15
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let (outbound, connect_timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                 |
[INFO] [stdout]     |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:672:65
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let (outbound, connect_timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:723:14
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let (outbound, timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 723 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 724 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/inbound/mixed.rs:258:19
[INFO] [stdout]      |
[INFO] [stdout]  257 |             let _permit = permit;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_permit` calls a custom destructor
[INFO] [stdout]      |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout]  258 |             match handle_socks5_udp_datagram(runtime.clone(), &packet).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                                    |
[INFO] [stdout]      |                   |                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  276 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/inbound/mixed.rs:258:72
[INFO] [stdout]      |
[INFO] [stdout]  257 |             let _permit = permit;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_permit` calls a custom destructor
[INFO] [stdout]      |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout]  258 |             match handle_socks5_udp_datagram(runtime.clone(), &packet).await {
[INFO] [stdout]      |                                                                        ^^^^^
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  276 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:246:31
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |                           match parse_ip_packet(&packet) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                 up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________-
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      -----
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:274:55
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________^
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      ----^
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |______________________________________________________|___up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                                        up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 340 | |                                             }
[INFO] [stdout]     | |                                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:264:47
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 | |                                         match extract_dns_query(&ip_packet) {
[INFO] [stdout]     | |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |                                               up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________-
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      -----
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 351 | |                                     }
[INFO] [stdout]     | |                                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun_system.rs:367:19
[INFO] [stdout]     |
[INFO] [stdout] 367 |             match run_system_command(cmd).await { Err(e) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^-----       -
[INFO] [stdout]     |                   |                       |           |
[INFO] [stdout]     |                   |                       |           `e` calls a custom destructor
[INFO] [stdout]     |                   |                       |           `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7569:15
[INFO] [stdout]      |
[INFO] [stdout] 7569 |         match read_ss_chunk(cipher, &subkey, &mut nonce, &mut reader).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                       |
[INFO] [stdout]      |               |                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               |                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7584 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7599:15
[INFO] [stdout]      |
[INFO] [stdout] 7599 |           match read_ss_chunk_from_tls_obfs(cipher, &subkey, &mut nonce, &mut decoder, &mut reader)
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 7600 | |             .await
[INFO] [stdout]      | |              ----^
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |              |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7616 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/l3/mod.rs:185:37
[INFO] [stdout]      |
[INFO] [stdout]  185 |                 if let Some(task) = inner.tasks.remove(&name) {
[INFO] [stdout]      |                             ----    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |       |
[INFO] [stdout]      |                             |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `task` calls a custom destructor
[INFO] [stdout]      |                             `task` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  188 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1458:1
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1458:1
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/outbound/mod.rs:524:19
[INFO] [stdout]     |
[INFO] [stdout] 523 |         for member in members {
[INFO] [stdout]     |             ------    -------
[INFO] [stdout]     |             |         |
[INFO] [stdout]     |             |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `member` calls a custom destructor
[INFO] [stdout]     |             `member` will be dropped later as of Edition 2024
[INFO] [stdout] 524 |             match member.connect(destination, timeout_ms).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                       |
[INFO] [stdout]     |                   |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 525 |                 Ok(stream) => return Ok(stream),
[INFO] [stdout] 526 |                 Err(error) => errors.push(format!("{}: {error}", member.name())),
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] 527 |             }
[INFO] [stdout] 528 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `member` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/outbound/mod.rs:547:19
[INFO] [stdout]     |
[INFO] [stdout] 546 |         for member in members {
[INFO] [stdout]     |             ------    -------
[INFO] [stdout]     |             |         |
[INFO] [stdout]     |             |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `member` calls a custom destructor
[INFO] [stdout]     |             `member` will be dropped later as of Edition 2024
[INFO] [stdout] 547 |             match member.udp_exchange(destination, payload, timeout_ms).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                     |
[INFO] [stdout]     |                   |                                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 548 |                 Ok(response) => return Ok(response),
[INFO] [stdout] 549 |                 Err(error) => errors.push(format!("{}: {error}", member.name())),
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |             }
[INFO] [stdout] 551 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `member` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:1629:14
[INFO] [stdout]      |
[INFO] [stdout] 1602 |             let session = session_handle.lock().await;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1629 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1630 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2208:14
[INFO] [stdout]      |
[INFO] [stdout] 2191 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2208 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2209 |             .context("vmess udp exchange timed out")?
[INFO] [stdout] 2210 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2477:14
[INFO] [stdout]      |
[INFO] [stdout] 2467 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2477 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2478 |             .context("vless udp exchange timed out")?
[INFO] [stdout] 2479 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2775:14
[INFO] [stdout]      |
[INFO] [stdout] 2739 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2775 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2776 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:3763:14
[INFO] [stdout]      |
[INFO] [stdout] 3690 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3763 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 3764 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]      |
[INFO] [stdout]  506 | impl Drop for RecvStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]      |
[INFO] [stdout]  344 | impl Drop for SendStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:5071:19
[INFO] [stdout]      |
[INFO] [stdout] 5071 |             match read_websocket_frame(&mut remote_read).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                      |
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5086 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:5386:19
[INFO] [stdout]      |
[INFO] [stdout] 5386 |             match read_vmess_chunk(&mut remote_read, &mut download_state).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                                       |
[INFO] [stdout]      |                   |                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5401 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7294:19
[INFO] [stdout]      |
[INFO] [stdout] 7294 |               match read_anytls_frame(&mut remote_read).await {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                     |                                   |
[INFO] [stdout]      |                     |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                     |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7306 |                           let mut writer = remote_write.lock().await;
[INFO] [stdout]      |                               ----------   -------------------------
[INFO] [stdout]      |                               |            |                   |
[INFO] [stdout]      |                               |            |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |            |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `writer` calls a custom destructor
[INFO] [stdout]      |                               `writer` will be dropped later as of Edition 2024
[INFO] [stdout] 7307 |                           let _ = write_anytls_frame(&mut *writer, ANYTLS_CMD_HEART_RESPONSE, 0, &[])
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout] 7308 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7330 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `writer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7378:19
[INFO] [stdout]      |
[INFO] [stdout] 7378 |               match read_shadowtls_app_data(&mut remote_read, &mut read_hmac, &mut handshake_hmac)
[INFO] [stdout]      |  ___________________^
[INFO] [stdout] 7379 | |                 .await
[INFO] [stdout]      | |                  ----^
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                  |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7395 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |             match parse_clash_proxy(proxy) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 689 |                 Ok(node) => nodes.push(node),
[INFO] [stdout] 690 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 695 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:703:19
[INFO] [stdout]     |
[INFO] [stdout] 703 |             match parse_clash_group(group) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 704 |                 Ok(group) => groups.push(group),
[INFO] [stdout] 705 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 710 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:721:19
[INFO] [stdout]     |
[INFO] [stdout] 721 |             match parse_clash_proxy_provider(name, provider) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 722 |                 Ok(provider) => proxy_providers.push(provider),
[INFO] [stdout] 723 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 728 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:751:19
[INFO] [stdout]     |
[INFO] [stdout] 751 |             match parse_clash_rule_provider(name, provider) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 752 |                 Ok(provider) => rule_providers.push(provider),
[INFO] [stdout] 753 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 758 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:958:15
[INFO] [stdout]     |
[INFO] [stdout] 958 |         match parse_node_uri(line) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 959 |             Ok(node) => nodes.push(node),
[INFO] [stdout] 960 |             Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `error` calls a custom destructor
[INFO] [stdout]     |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 965 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:449:23
[INFO] [stdout]     |
[INFO] [stdout] 449 |                   match load_proxy_provider_text(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 450 | |                     self.root(),
[INFO] [stdout] 451 | |                     provider.path.as_deref(),
[INFO] [stdout] 452 | |                     provider.url.as_deref(),
[INFO] [stdout] 453 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 454 |                       Ok(text) => match parse_proxy_provider_nodes(&text) {
[INFO] [stdout]     |                                         ---------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 | /                             fs::write(&cache_path, text).with_context(|| {
[INFO] [stdout] 458 | |                                 format!(
[INFO] [stdout] 459 | |                                     "failed to write proxy provider cache {}",
[INFO] [stdout] 460 | |                                     cache_path.display()
[INFO] [stdout] 461 | |                                 )
[INFO] [stdout] 462 | |                             })?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 466 | |                         Err(error) => {
[INFO] [stdout]     | |                             -----
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             `error` calls a custom destructor
[INFO] [stdout]     | |                             `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 470 | |                     Err(error) => {
[INFO] [stdout]     | |                         -----
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:505:23
[INFO] [stdout]     |
[INFO] [stdout] 505 |                   match load_rule_provider_text(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 506 | |                     self.root(),
[INFO] [stdout] 507 | |                     provider.path.as_deref(),
[INFO] [stdout] 508 | |                     provider.url.as_deref(),
[INFO] [stdout] 509 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 512 | /                         fs::write(&cache_path, text).with_context(|| {
[INFO] [stdout] 513 | |                             format!(
[INFO] [stdout] 514 | |                                 "failed to write rule provider cache {}",
[INFO] [stdout] 515 | |                                 cache_path.display()
[INFO] [stdout] 516 | |                             )
[INFO] [stdout] 517 | |                         })?;
[INFO] [stdout]     | |                           -
[INFO] [stdout]     | |___________________________|
[INFO] [stdout]     | |___________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 | |                     Err(error) => {
[INFO] [stdout]     | |                         -----
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `error` calls a custom destructor
[INFO] [stdout]     | |                         `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 525 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 526 | /                 fs::write(&cache_path, provider.rules.join("\n")).with_context(|| {
[INFO] [stdout] 527 | |                     format!(
[INFO] [stdout] 528 | |                         "failed to write rule provider cache {}",
[INFO] [stdout] 529 | |                         cache_path.display()
[INFO] [stdout] 530 | |                     )
[INFO] [stdout] 531 | |                 })?;
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     | |___________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/core/mod.rs:1204:37
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]      |                        ------    ----------------------
[INFO] [stdout]      |                        |         |                |
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `result` calls a custom destructor
[INFO] [stdout]      |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1196 |                 Err(error) => results.push(ProbeResult {
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `error` calls a custom destructor
[INFO] [stdout]      |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1204 |             if let Some(outbound) = pending.next() {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1213 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/core/mod.rs:1193:34
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]      |                        ------    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                        |         |                |
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                        |         |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        `result` calls a custom destructor
[INFO] [stdout]      |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1196 |                 Err(error) => results.push(ProbeResult {
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `error` calls a custom destructor
[INFO] [stdout]      |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1213 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/subscription_store.rs:999:15
[INFO] [stdout]      |
[INFO] [stdout]  997 |     let mut last_error = None;
[INFO] [stdout]      |         --------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `last_error` calls a custom destructor
[INFO] [stdout]      |         `last_error` will be dropped later as of Edition 2024
[INFO] [stdout]  998 |     for attempt in 0..attempts {
[INFO] [stdout]  999 |         match fetch_subscription_url_once(&client, url).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                         |
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                         up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1004 |                     sleep(Duration::from_millis(250 * (attempt as u64 + 1))).await;
[INFO] [stdout]      |                     --------------------------------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:373:34
[INFO] [stdout]     |
[INFO] [stdout] 373 |         while let Some(result) = jobs.join_next().await {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |         |                |
[INFO] [stdout]     |                        |         |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |         |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `result` calls a custom destructor
[INFO] [stdout]     |                        `result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 376 |                 Err(error) => summaries.push(SubscriptionUpdateSummary {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 383 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/api/mod.rs:1120:11
[INFO] [stdout]      |
[INFO] [stdout] 1099 |     let base_config = match (request.path, request.yaml) {
[INFO] [stdout]      |         -----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `base_config` calls a custom destructor
[INFO] [stdout]      |         `base_config` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     match reload_active_subscription_config(&runtime) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1134 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `base_config` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:581:15
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let (decision, outbound, connect_timeout_ms) = {
[INFO] [stdout]     |                        --------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `outbound` calls a custom destructor
[INFO] [stdout]     |                        `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                 |
[INFO] [stdout]     |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 650 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:581:65
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let (decision, outbound, connect_timeout_ms) = {
[INFO] [stdout]     |                        --------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `outbound` calls a custom destructor
[INFO] [stdout]     |                        `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 650 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:672:15
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let (outbound, connect_timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                                 |
[INFO] [stdout]     |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:672:65
[INFO] [stdout]     |
[INFO] [stdout] 657 |         let (outbound, connect_timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 672 |         match outbound.connect(destination, connect_timeout_ms).await {
[INFO] [stdout]     |                                                                 ^^^^^
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 700 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/traffic_store_tests.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/core/mod.rs:723:14
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let (outbound, timeout_ms) = {
[INFO] [stdout]     |              --------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `outbound` calls a custom destructor
[INFO] [stdout]     |              `outbound` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 723 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 724 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `outbound` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/inbound/mixed.rs:258:19
[INFO] [stdout]      |
[INFO] [stdout]  257 |             let _permit = permit;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_permit` calls a custom destructor
[INFO] [stdout]      |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout]  258 |             match handle_socks5_udp_datagram(runtime.clone(), &packet).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                                    |
[INFO] [stdout]      |                   |                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  276 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/inbound/mixed.rs:258:72
[INFO] [stdout]      |
[INFO] [stdout]  257 |             let _permit = permit;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `_permit` calls a custom destructor
[INFO] [stdout]      |                 `_permit` will be dropped later as of Edition 2024
[INFO] [stdout]  258 |             match handle_socks5_udp_datagram(runtime.clone(), &packet).await {
[INFO] [stdout]      |                                                                        ^^^^^
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  276 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `_permit` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/semaphore.rs:1202:1
[INFO] [stdout]      |
[INFO] [stdout] 1202 | impl Drop for OwnedSemaphorePermit {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:246:31
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |                           match parse_ip_packet(&packet) {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                 up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________-
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      -----
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 357 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:274:55
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________^
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      ----^
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |______________________________________________________|___up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                                        up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 340 | |                                             }
[INFO] [stdout]     | |                                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun.rs:264:47
[INFO] [stdout]     |
[INFO] [stdout] 230 |                       let packet = match decode_tun_read_packet(&buf[..len]) {
[INFO] [stdout]     |                                          -----------------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 231 |                           Ok(pkt) => pkt,
[INFO] [stdout] 232 |                           Err(e) => {
[INFO] [stdout]     |                               -
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `e` calls a custom destructor
[INFO] [stdout]     |                               `e` will be dropped later as of Edition 2024
[INFO] [stdout] 233 |                               read_metrics.record_decode_error();
[INFO] [stdout] 234 | /                             runtime_clone
[INFO] [stdout] 235 | |                                 .telemetry()
[INFO] [stdout] 236 | |                                 .log(
[INFO] [stdout] 237 | |                                     "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 240 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |______________________________________`__awaitee` calls a custom destructor
[INFO] [stdout]     |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 | /                                         runtime_clone
[INFO] [stdout] 255 | |                                             .telemetry()
[INFO] [stdout] 256 | |                                             .log(
[INFO] [stdout] 257 | |                                                 "warn",
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |                                             .await;
[INFO] [stdout]     | |                                                  -
[INFO] [stdout]     | |__________________________________________________|
[INFO] [stdout]     | |__________________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 264 | |                                         match extract_dns_query(&ip_packet) {
[INFO] [stdout]     | |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     | |                                               up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 274 |                                                   match runtime_clone
[INFO] [stdout]     |  _______________________________________________________-
[INFO] [stdout]     | |_______________________________________________________|
[INFO] [stdout] 275 | |                                                     .exchange_dns_over_tcp(&dns_payload)
[INFO] [stdout] 276 | |                                                     .await
[INFO] [stdout]     | |                                                      -----
[INFO] [stdout]     | |______________________________________________________|___|
[INFO] [stdout]     | |______________________________________________________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                        |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 296 |                                                                   if dns_response_tx
[INFO] [stdout]     |  ____________________________________________________________________-
[INFO] [stdout]     | |____________________________________________________________________|
[INFO] [stdout] 297 | |                                                                     .send(encoded)
[INFO] [stdout] 298 | |                                                                     .await
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 | |                                                             Err(e) => {
[INFO] [stdout]     | |                                                                 -
[INFO] [stdout]     | |                                                                 |
[INFO] [stdout]     | |                                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 323 | /                                                                 runtime_clone
[INFO] [stdout] 324 | |                                                                     .telemetry()
[INFO] [stdout] 325 | |                                                                     .log("warn", format!("native_tun: encode DNS response failed:...
[INFO] [stdout] 326 | |                                                                     .await;
[INFO] [stdout]     | |                                                                          -
[INFO] [stdout]     | |__________________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                                            `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 | |                                                     Err(e) => {
[INFO] [stdout]     | |                                                         -
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 334 | /                                                         runtime_clone
[INFO] [stdout] 335 | |                                                             .telemetry()
[INFO] [stdout] 336 | |                                                             .log("warn", format!("native_tun: DNS query failed: {e}"))
[INFO] [stdout] 337 | |                                                             .await;
[INFO] [stdout]     | |                                                                  -
[INFO] [stdout]     | |__________________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 | |                                             Err(e) => {
[INFO] [stdout]     | |                                                 -
[INFO] [stdout]     | |                                                 |
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                                 `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 345 | /                                                 runtime_clone
[INFO] [stdout] 346 | |                                                     .telemetry()
[INFO] [stdout] 347 | |                                                     .log("warn", format!("native_tun: extract DNS query failed: {e}"))
[INFO] [stdout] 348 | |                                                     .await;
[INFO] [stdout]     | |                                                          -
[INFO] [stdout]     | |__________________________________________________________|
[INFO] [stdout]     | |__________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 351 | |                                     }
[INFO] [stdout]     | |                                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 414 |                               let route = super::native_tun_router::resolve_native_route(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]     | |_________________________________________|
[INFO] [stdout] 415 | |                                 &runtime_clone,
[INFO] [stdout] 416 | |                                 &decision,
[INFO] [stdout] 417 | |                             )
[INFO] [stdout] 418 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                    `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 | |                                         runtime_clone.send_l3_ip_packet(name, packet).await;
[INFO] [stdout]     | |                                         ---------------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                         `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |                                     let _ = l4_packet_tx.send((packet, flow_key)).await;
[INFO] [stdout]     | |                                             -------------------------------------------
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 436 |                               let result = runtime_clone
[INFO] [stdout]     |  __________________________________________-
[INFO] [stdout]     | |__________________________________________|
[INFO] [stdout] 437 | |                                 .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 438 | |                                 .await;
[INFO] [stdout]     | |                                      -
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout]     | |______________________________________this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                        `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 444 |                           let result = runtime_clone
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout]     | |______________________________________|
[INFO] [stdout] 445 | |                             .send_l3_ip_packet(&l3_profile_clone, packet)
[INFO] [stdout] 446 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/inbound/native_tun_system.rs:367:19
[INFO] [stdout]     |
[INFO] [stdout] 367 |             match run_system_command(cmd).await { Err(e) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^-----       -
[INFO] [stdout]     |                   |                       |           |
[INFO] [stdout]     |                   |                       |           `e` calls a custom destructor
[INFO] [stdout]     |                   |                       |           `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7569:15
[INFO] [stdout]      |
[INFO] [stdout] 7569 |         match read_ss_chunk(cipher, &subkey, &mut nonce, &mut reader).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                       |
[INFO] [stdout]      |               |                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               |                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7584 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7599:15
[INFO] [stdout]      |
[INFO] [stdout] 7599 |           match read_ss_chunk_from_tls_obfs(cipher, &subkey, &mut nonce, &mut decoder, &mut reader)
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 7600 | |             .await
[INFO] [stdout]      | |              ----^
[INFO] [stdout]      | |              |   |
[INFO] [stdout]      | |              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |              |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7616 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/l3/mod.rs:185:37
[INFO] [stdout]      |
[INFO] [stdout]  185 |                 if let Some(task) = inner.tasks.remove(&name) {
[INFO] [stdout]      |                             ----    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |       |
[INFO] [stdout]      |                             |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `task` calls a custom destructor
[INFO] [stdout]      |                             `task` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  188 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1458:1
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `task` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/watch.rs:1458:1
[INFO] [stdout]      |
[INFO] [stdout] 1458 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/outbound/mod.rs:524:19
[INFO] [stdout]     |
[INFO] [stdout] 523 |         for member in members {
[INFO] [stdout]     |             ------    -------
[INFO] [stdout]     |             |         |
[INFO] [stdout]     |             |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `member` calls a custom destructor
[INFO] [stdout]     |             `member` will be dropped later as of Edition 2024
[INFO] [stdout] 524 |             match member.connect(destination, timeout_ms).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                       |
[INFO] [stdout]     |                   |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 525 |                 Ok(stream) => return Ok(stream),
[INFO] [stdout] 526 |                 Err(error) => errors.push(format!("{}: {error}", member.name())),
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] 527 |             }
[INFO] [stdout] 528 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `member` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/outbound/mod.rs:547:19
[INFO] [stdout]     |
[INFO] [stdout] 546 |         for member in members {
[INFO] [stdout]     |             ------    -------
[INFO] [stdout]     |             |         |
[INFO] [stdout]     |             |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `member` calls a custom destructor
[INFO] [stdout]     |             `member` will be dropped later as of Edition 2024
[INFO] [stdout] 547 |             match member.udp_exchange(destination, payload, timeout_ms).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                     |
[INFO] [stdout]     |                   |                                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   |                                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   |                                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 548 |                 Ok(response) => return Ok(response),
[INFO] [stdout] 549 |                 Err(error) => errors.push(format!("{}: {error}", member.name())),
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] 550 |             }
[INFO] [stdout] 551 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `member` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:1629:14
[INFO] [stdout]      |
[INFO] [stdout] 1602 |             let session = session_handle.lock().await;
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1629 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1630 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2208:14
[INFO] [stdout]      |
[INFO] [stdout] 2191 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2208 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2209 |             .context("vmess udp exchange timed out")?
[INFO] [stdout] 2210 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2477:14
[INFO] [stdout]      |
[INFO] [stdout] 2467 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2477 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2478 |             .context("vless udp exchange timed out")?
[INFO] [stdout] 2479 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:2775:14
[INFO] [stdout]      |
[INFO] [stdout] 2739 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2775 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2776 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:3763:14
[INFO] [stdout]      |
[INFO] [stdout] 3690 |             let mut session = session_handle.lock().await;
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `session` calls a custom destructor
[INFO] [stdout]      |                 `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3763 |             .await
[INFO] [stdout]      |              ^^^^^
[INFO] [stdout]      |              |
[INFO] [stdout]      |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 3764 |         };
[INFO] [stdout]      |          - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/recv_stream.rs:506:1
[INFO] [stdout]      |
[INFO] [stdout]  506 | impl Drop for RecvStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-0.11.9/src/send_stream.rs:344:1
[INFO] [stdout]      |
[INFO] [stdout]  344 | impl Drop for SendStream {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:5071:19
[INFO] [stdout]      |
[INFO] [stdout] 5071 |             match read_websocket_frame(&mut remote_read).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                      |
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5086 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:5386:19
[INFO] [stdout]      |
[INFO] [stdout] 5386 |             match read_vmess_chunk(&mut remote_read, &mut download_state).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                                       |
[INFO] [stdout]      |                   |                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5401 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7294:19
[INFO] [stdout]      |
[INFO] [stdout] 7294 |               match read_anytls_frame(&mut remote_read).await {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                     |                                   |
[INFO] [stdout]      |                     |                                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                     |                                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                     up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7306 |                           let mut writer = remote_write.lock().await;
[INFO] [stdout]      |                               ----------   -------------------------
[INFO] [stdout]      |                               |            |                   |
[INFO] [stdout]      |                               |            |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |            |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `writer` calls a custom destructor
[INFO] [stdout]      |                               `writer` will be dropped later as of Edition 2024
[INFO] [stdout] 7307 |                           let _ = write_anytls_frame(&mut *writer, ANYTLS_CMD_HEART_RESPONSE, 0, &[])
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout] 7308 | |                             .await;
[INFO] [stdout]      | |                              -----
[INFO] [stdout]      | |                              |   |
[INFO] [stdout]      | |                              |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                              |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      | |______________________________|___this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                |   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7330 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `writer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]      |
[INFO] [stdout]  964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:7378:19
[INFO] [stdout]      |
[INFO] [stdout] 7378 |               match read_shadowtls_app_data(&mut remote_read, &mut read_hmac, &mut handshake_hmac)
[INFO] [stdout]      |  ___________________^
[INFO] [stdout] 7379 | |                 .await
[INFO] [stdout]      | |                  ----^
[INFO] [stdout]      | |                  |   |
[INFO] [stdout]      | |                  |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                  |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7395 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:9133:23
[INFO] [stdout]      |
[INFO] [stdout] 9133 |                 match self.body.poll_data(cx) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 9134 |                     Poll::Ready(Some(Ok(chunk))) => {
[INFO] [stdout]      |                                         -----
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         `chunk` calls a custom destructor
[INFO] [stdout]      |                                         `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9137 |                         let _ = self.body.flow_control().release_capacity(len);
[INFO] [stdout]      |                                 ----------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 9138 |                     }
[INFO] [stdout] 9139 |                     Poll::Ready(Some(Err(error))) => {
[INFO] [stdout]      |                                          -----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `error` calls a custom destructor
[INFO] [stdout]      |                                          `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9148 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/outbound/mod.rs:9207:23
[INFO] [stdout]      |
[INFO] [stdout] 9207 |                 match self.body.poll_data(cx) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 9208 |                     Poll::Ready(Some(Ok(chunk))) => {
[INFO] [stdout]      |                                         -----
[INFO] [stdout]      |                                         |
[INFO] [stdout]      |                                         `chunk` calls a custom destructor
[INFO] [stdout]      |                                         `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9211 |                         let _ = self.body.flow_control().release_capacity(len);
[INFO] [stdout]      |                                 ----------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 9212 |                     }
[INFO] [stdout] 9213 |                     Poll::Ready(Some(Err(error))) => {
[INFO] [stdout]      |                                          -----
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `error` calls a custom destructor
[INFO] [stdout]      |                                          `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9222 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:688:19
[INFO] [stdout]     |
[INFO] [stdout] 688 |             match parse_clash_proxy(proxy) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 689 |                 Ok(node) => nodes.push(node),
[INFO] [stdout] 690 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 695 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:703:19
[INFO] [stdout]     |
[INFO] [stdout] 703 |             match parse_clash_group(group) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 704 |                 Ok(group) => groups.push(group),
[INFO] [stdout] 705 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 710 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:721:19
[INFO] [stdout]     |
[INFO] [stdout] 721 |             match parse_clash_proxy_provider(name, provider) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 722 |                 Ok(provider) => proxy_providers.push(provider),
[INFO] [stdout] 723 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 728 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:751:19
[INFO] [stdout]     |
[INFO] [stdout] 751 |             match parse_clash_rule_provider(name, provider) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 752 |                 Ok(provider) => rule_providers.push(provider),
[INFO] [stdout] 753 |                 Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                     -----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `error` calls a custom destructor
[INFO] [stdout]     |                     `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 758 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription/mod.rs:958:15
[INFO] [stdout]     |
[INFO] [stdout] 958 |         match parse_node_uri(line) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 959 |             Ok(node) => nodes.push(node),
[INFO] [stdout] 960 |             Err(error) => unsupported.push(UnsupportedItem {
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `error` calls a custom destructor
[INFO] [stdout]     |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 965 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:449:23
[INFO] [stdout]     |
[INFO] [stdout] 449 |                   match load_proxy_provider_text(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 450 | |                     self.root(),
[INFO] [stdout] 451 | |                     provider.path.as_deref(),
[INFO] [stdout] 452 | |                     provider.url.as_deref(),
[INFO] [stdout] 453 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 454 |                       Ok(text) => match parse_proxy_provider_nodes(&text) {
[INFO] [stdout]     |                                         ---------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 | /                             fs::write(&cache_path, text).with_context(|| {
[INFO] [stdout] 458 | |                                 format!(
[INFO] [stdout] 459 | |                                     "failed to write proxy provider cache {}",
[INFO] [stdout] 460 | |                                     cache_path.display()
[INFO] [stdout] 461 | |                                 )
[INFO] [stdout] 462 | |                             })?;
[INFO] [stdout]     | |                               -
[INFO] [stdout]     | |_______________________________|
[INFO] [stdout]     | |_______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 466 | |                         Err(error) => {
[INFO] [stdout]     | |                             -----
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             `error` calls a custom destructor
[INFO] [stdout]     | |                             `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 470 | |                     Err(error) => {
[INFO] [stdout]     | |                         -----
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/subscription_store.rs:505:23
[INFO] [stdout]     |
[INFO] [stdout] 505 |                   match load_rule_provider_text(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 506 | |                     self.root(),
[INFO] [stdout] 507 | |                     provider.path.as_deref(),
[INFO] [stdout] 508 | |                     provider.url.as_deref(),
[INFO] [stdout] 509 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 512 | /                         fs::write(&cache_path, text).with_context(|| {
[INFO] [stdout] 513 | |                             format!(
[INFO] [stdout] 514 | |                                 "failed to write rule provider cache {}",
[INFO] [stdout] 515 | |                                 cache_path.display()
[INFO] [stdout] 516 | |                             )
[INFO] [stdout] 517 | |                         })?;
[INFO] [stdout]     | |                           -
[INFO] [stdout]     | |___________________________|
[INFO] [stdout]     | |___________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 | |                     Err(error) => {
[INFO] [stdout]     | |                         -----
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `error` calls a custom destructor
[INFO] [stdout]     | |                         `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 525 | |             } else {
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 526 | /                 fs::write(&cache_path, provider.rules.join("\n")).with_context(|| {
[INFO] [stdout] 527 | |                     format!(
[INFO] [stdout] 528 | |                         "failed to write rule provider cache {}",
[INFO] [stdout] 529 | |                         cache_path.display()
[INFO] [stdout] 530 | |                     )
[INFO] [stdout] 531 | |                 })?;
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |___________________|
[INFO] [stdout]     | |___________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/tcp_forwarder.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/shadowtls_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_tun_soak.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_l3_tcp_tests.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/native_tun_soak.rs:155:42
[INFO] [stdout]     |
[INFO] [stdout] 155 |               if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                            |                 |
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 156 | /                 tokio::spawn(async move {
[INFO] [stdout] 157 | |                     let mut buf = vec![0u8; 1024];
[INFO] [stdout] 158 | |                     loop {
[INFO] [stdout] 159 | |                         match stream.read(&mut buf).await {
[INFO] [stdout] ...   |
[INFO] [stdout] 167 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 168 |               }
[INFO] [stdout] 169 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/ssr_real_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/protocol_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/protocol_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/real_subscription_compat.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/hysteria_v1_real.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/smart_rules_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/snell_real_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/tcp_forwarder_e2e.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/ssh_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/protocol_mock_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/background_tasks_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_l4_dispatcher_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:278:15
[INFO] [stdout]      |
[INFO] [stdout]  277 |         sleep(Duration::from_secs(config.update_interval_secs)).await;
[INFO] [stdout]      |         -------------------------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  278 |         match store.update_all_from_urls_with((&config).into()).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                 |
[INFO] [stdout]      |               |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |             Err(error) => {
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `error` calls a custom destructor
[INFO] [stdout]      |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/api_tests.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:176:35
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut tasks = JoinSet::new();
[INFO] [stdout]     |                 ---------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `tasks` calls a custom destructor
[INFO] [stdout]     |                 `tasks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             if let Some(result) = tasks.join_next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tasks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/join_set.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<T> Drop for JoinSet<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:176:53
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut tasks = JoinSet::new();
[INFO] [stdout]     |                 ---------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `tasks` calls a custom destructor
[INFO] [stdout]     |                 `tasks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             if let Some(result) = tasks.join_next().await {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `tasks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/join_set.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<T> Drop for JoinSet<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/native_l3_real_e2e.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/ssr_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/anytls_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/api_endpoint_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/udp_relay.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/geo_assets.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_l3_udp_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/snell_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_l3_e2e.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/routing_decision.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/tuic_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/native_tun_privileged.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/hysteria_v1_wire_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/probe_outbounds.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> benches/probe_outbounds.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |               match listener.accept() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 65 |                   Ok((mut stream, _)) => {
[INFO] [stdout] 66 | /                     thread::spawn(move || {
[INFO] [stdout] 67 | |                         let mut buffer = [0u8; 1024];
[INFO] [stdout] 68 | |                         let _ = stream.read(&mut buffer);
[INFO] [stdout] 69 | |                         let response = b"HTTP/1.1 204 No Content\r\nContent-Length: 0\r\n\r\n";
[INFO] [stdout] 70 | |                         let _ = stream.write_all(response);
[INFO] [stdout] 71 | |                     });
[INFO] [stdout]    | |                      -
[INFO] [stdout]    | |                      |
[INFO] [stdout]    | |______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |           });
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/subscription_store.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/subscription_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/protocol_echo_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/naive_integration.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:278:15
[INFO] [stdout]      |
[INFO] [stdout]  277 |         sleep(Duration::from_secs(config.update_interval_secs)).await;
[INFO] [stdout]      |         -------------------------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  278 |         match store.update_all_from_urls_with((&config).into()).await {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |               |                                                 |
[INFO] [stdout]      |               |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               |                                                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               |                                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               |                                                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  287 |             Err(error) => {
[INFO] [stdout]      |                 -----
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `error` calls a custom destructor
[INFO] [stdout]      |                 `error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  291 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `error` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:176:35
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut tasks = JoinSet::new();
[INFO] [stdout]     |                 ---------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `tasks` calls a custom destructor
[INFO] [stdout]     |                 `tasks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             if let Some(result) = tasks.join_next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                 |
[INFO] [stdout]     |                                   |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tasks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/join_set.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<T> Drop for JoinSet<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:176:53
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let mut tasks = JoinSet::new();
[INFO] [stdout]     |                 ---------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `tasks` calls a custom destructor
[INFO] [stdout]     |                 `tasks` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             if let Some(result) = tasks.join_next().await {
[INFO] [stdout]     |                                                     ^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `tasks` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/task/join_set.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<T> Drop for JoinSet<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/dns.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/config_and_runtime.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/subscription_parse.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 09s
[INFO] [stderr] crater-edition-check: skyhook v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking skyhook v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 28s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd", kill_on_drop: false }`
[INFO] [stdout] d74a669b7650e230935e15660234c16192ab1196629e4081d946d68fc705b0bd
